Communications networks such as the Internet are used for transmitting information, e.g., digital data, from one device to another. Each communications network normally comprises a plurality of nodes. The nodes are implemented using, e.g., routers or switches, which are inter-connected by links over which data and control signals can pass. For ownership and administrative purposes, routers are frequently grouped together into individual networks referred to as autonomous systems (ASs). Individual networks, representing separate ASs, can be connected to each other to form a larger network. The Internet is an example of a large network made up of multiple interconnected ASs. Various protocols, e.g., Label Distribution Protocol (LDP) and Resource Reservation Protocol (RSVP), may be used with an AS, e.g., for establishing paths through the AS and for exchanging network information within the AS. Other protocols such as Border Gateway Protocol (BGP) and EBGP may be used for distributing network information between Ass, e.g., to be used in route calculations.
In order to provide high bandwidth between various networks and/or Internet nodes, many Internet Service providers (ISPs) turned to using high bandwidth Asynchronous Transfer Mode (ATM) networks to interconnect other, e.g., IP based, networks. Thus, overtime, ISPs became accustomed to using ATM networks for providing Internet backbone services. FIG. 1 illustrates an exemplary communications system 100 with an ATM core 240. In the illustrated system, various IP based networks N1 112, N2 104, N3 124, N4 130, N2 are used on the peripheral edges of the ATM core 140. The core 240 is implemented using ATM switches 142, 144, 146, 148. Routers 114, 120, 122, 128 at the edge of the ATM core connect the ATM core 140 to various IP based networks N1 112, N2 114, N3 124, and N4 130. The ATM edge routers 114, 120, 122, 128 support both IP and ATM routing as indicated by the letters IA in each of the circles used to represent the routers R1, R2, R3, R4. The IP networks 112, 114, 124, 130 are, in turn, coupled to host devices 110, 112, 126, 132, respectively, and may also be coupled to additional networks.
For purposes of discussion, the system 100 can be divided into different domains, e.g., first and second IP domains 102, 106 and ATM domain 104, based on the use of ATM cells or IP packets to transport data.
In the known system 100, each of the ATM routers 112, 114, 122, 128 communicates with every other router 112, 114, 122, 128 by a set of Permanent Virtual Circuits (PVCs) that are configured across the ATM physical topology. The PVCs function as logical circuits, providing bi-directional connectivity between edge routers 114, 120, 122, 128. The PVCs appear to the edge routers as simple point-to-point circuits between two routers. The physical routes corresponding to each ATM PVC are normally computed off-line with the routing information then being downloaded into the relevant ATM routers and switches to implement the desired mesh logical topology. IP address prefixes are then associated in the ATM edge routers with PVCs.
In order to transport a received packet across the ATM core 140, the routers 114, 120, 122, 128 encapsulate one or more IP packets into one or more ATM cells, associate the ATM cell with a PVC based on IP address prefix information included in the IP packet, and then transmit the ATM cell across the ATM domain 104. The edge router at the side of the PVC across from the point at which the packet entered the ATM domain, reassembles the ATM cells into one or more IP packets and forwards each IP packet based on the IP address included in the IP packet.
Unfortunately, ATM router interfaces have not kept pace with the latest increases in the bandwidth in optical cables used to carry Internet traffic. In addition, since ATM uses fixed size cells to carry IP packets, ATM results in wasted bandwidth sometimes referred to as an ATM cell tax. The complexities of maintaining an ATM network are another factor weighing against the use of ATM in today's competitive environment.
In recent years, Multiprotocol Label Switching (MPLS) has developed as an alternative to ATM. MPLS incorporates advanced label switching techniques with the use of variable length sized packets, e.g., MPLS packets, to avoid the disadvantages of fixed size cells used in ATM systems. MPLS systems use simplex, i.e., unidirectional, label switched paths (LSPs) between label switching routers (LSRs). Label switching routers (LSRs) are also known in the art as label swapping routers. An LSR is a router which supports packet forwarding based on, label switching, e.g., MPLS.
Unlike the case of ATM routers, MPLS routers have managed to keep pace with improvements in the bandwidth of optical links. Furthermore, MPLS's efficient use of bandwidth when transporting IP packets and various network management advantages MPLS offers over ATM has made MPLS increasingly popular when deploying new high speed networks to carry IP traffic between IP based networks.
Unfortunately, various common signaling protocols were designed for bi-directional communications paths. While such protocols are presently run over bi-directional ATM PVCs, the uni-directional nature of MPLS LSPs makes it difficult to run such protocols over an MPLS network.
Given the disadvantages of ATM as compared to MPLS, it is becoming increasingly desirable to replace ATM systems with MPLS systems. If MPLS routers could be modified to support bi-directional interfaces which could be used in a manner similar to ATM PVCs, it would greatly simply the task of replacing ATM routers and switches with MPLS routers and switches. This is because the same physical and logical network topology as an existing ATM network could be established with MPLS routers and switches being used as direct replacements for ATM routers and switches. In addition, many of the same protocols which were run over the ATM PVCs could be run over the MPLS routers if bi-directional interfaces could be supported in an MPLS system.
In view of the above discussion, it becomes apparent that there is a need for methods and apparatus for implementing bi-directional interfaces in an MPLS network.